package thread;

import java.util.concurrent.atomic.AtomicInteger;

public class AtomicIntegerTest {
    private static volatile  boolean flag = false;
    private static AtomicInteger num = new AtomicInteger(0);

    public static void main(String[] args) throws InterruptedException {
//        new Thread(()->{
//            System.out.println("wait");
//            while (!flag){
//
//            }
//            System.out.println("success");
//
//        }).start();
//
//        new Thread(()->{
//            System.out.println("wait2");
//            while (!flag){
//
//            }
//            System.out.println("success2");
//
//        }).start();
//
//
//        new Thread(()->{
//            flag=true;
//
//        }).start();
        Thread[] threads = new Thread[10];
        for(int i=0;i<threads.length;i++){
            threads[i] = new Thread(()->{
                for(int j=0;j<1000;j++){
//                   num++;
                    num.incrementAndGet();
                }
            });
            threads[i].start();
        }

        for(Thread t:threads){
            t.join();
        }
        System.out.println(num);
    }
}
